package abstractFactory;

import abstractFactory.service.color;
import abstractFactory.service.shape;

/**
 * todo 抽象工厂模式（Abstract Factory Pattern）是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。
 * 意图：提供一个创建一系列相关或相互依赖对象的接口，而无需指定它们具体的类。
 */
public class demo {
    public static void main(String[] args) {
        AbstractFactory Shape = FactoryProducer.getFactory("shape");
        AbstractFactory Color = FactoryProducer.getFactory("color");
        shape circle = Shape.getShape("circle");
        circle.draw();
        shape rectangle = Shape.getShape("rectangle");
        rectangle.draw();
        color blue = Color.getColor("blue");
        blue.fill();
        color red = Color.getColor("red");
        red.fill();

    }
}
